package com.ys.nms.module.business.controller.admin.alertLog.vo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.VO;
import com.ys.nms.module.business.dal.dataobject.alertRules.AlertRulesDO;
import com.ys.nms.module.business.dal.dataobject.devices.DevicesDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import cn.idev.excel.annotation.*;

@Schema(description = "管理后台 - 报警日志 Response VO")
@Data
@ExcelIgnoreUnannotated
public class AlertLogRespVO implements VO {

    @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "8555")
    @ExcelProperty("ID")
    private Integer id;

    @Schema(description = "规则ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "2360")
    @ExcelProperty("规则ID")
    @Trans(type = TransType.SIMPLE, target = AlertRulesDO.class, fields = { "name"}, refs = { "ruleName"})
    private Integer ruleId;

    private String ruleName;

    @Schema(description = "设备ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "7499")
    @ExcelProperty("设备ID")
    private Integer deviceId;



    @Schema(description = "告警状态", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("告警状态")
    private Integer state;

    @Schema(description = "详情")
    @ExcelProperty("详情")
    private byte[] details;

    @Schema(description = "时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("时间")
    private LocalDateTime timeLogged;

}
